Maintainability of the Linux kernel
نویسندگان
چکیده
We have examined 365 versions of Linux. For every version, we counted the number of instances of common (global) coupling between each of the 17 kernel modules and all the other modules in that version of Linux. We found that the number of instances of common coupling grows exponentially with version number. This result is significant at the 99.99% level, and no additional variables are needed to explain this increase. On the other hand, the number of lines of code in each kernel modules grows only linearly with version number. We conclude that, unless Linux is restructured with a bare minimum of common coupling, the dependencies induced by common coupling will, at some future date, make Linux exceedingly hard to maintain without inducing regression faults.
منابع مشابه
Maintainability of the kernels of open-source operating systems: A comparison of Linux with FreeBSD, NetBSD, and OpenBSD
We compared and contrasted the maintainability of four open-source operating systems: Linux, FreeBSD, NetBSD, and OpenBSD. We used our categorization of common coupling in kernel-based software to highlight future maintenance problems. An unsafe definition is a definition of a global variable that can affect a kernel module if that definition is changed. For each operating system we determined ...
متن کاملImpact of release intervals on empirical research into software evolution, with application to the maintainability of Linux
In most empirical research on software evolution, analysis of the data is performed with respect to the release sequence number, rather than the release date. This distinction is important when the intervals between release dates vary widely, as is generally the case with open-source software. A widely cited paper on the maintainability of Linux was published in this journal in 2002. The paper ...
متن کاملKVM/ARM: Experiences Building the Linux ARM Hypervisor
As ARM CPUs become increasingly common in mobile devices and servers, there is a growing demand for providing the benefits of virtualization for ARMbased devices. We present our experiences building the Linux ARM hypervisor, KVM/ARM, the first full system ARM virtualization solution that can run unmodified guest operating systems on ARM multicore hardware. KVM/ARM introduces split-mode virtuali...
متن کاملProviding a Linux API on the Scalable K42 Kernel
K42 is an open-source research kernel targeted for 64bit cache-coherent multiprocessor systems. It was designed to scale up to multiprocessor systems containing hundreds or thousands of processors and to scale down to perform well on 2to 4-way multiprocessors. K42’s goal was to re-design the core of an operating system, but not an entire application environment. We wanted to use a commonly avai...
متن کاملThe Linux Kernel: A Challenging Workload for Transactional Memory
The Linux operating system kernel [4] is a large, mature, freely available, and well-tuned concurrent program. As such it is an ideal workload for a transactional memory hardware design. Operating systems need transactional memory for performance scalability, to help maintainability, and to provide services related to transactions to user programs. Most general purpose computing platforms run o...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IEE Proceedings - Software
دوره 149 شماره
صفحات -
تاریخ انتشار 2002